// These are meant to be typed into the REPL. You can also run
// scala -Xnojline < repl-session.scala to run them all at once.
/**
  * 第5章 模式匹配
  * 5.1 更好的 switch
  */
var sign = 0
for (ch <- "+-!") {

  ch match {
    case '+' => sign = 1
    case '-' => sign = -1
    case _ => sign = 0
  }

  println(sign)
}

/**
  * 与 default 等效的是捕获所有的 case_ 模式。如果没有模式匹配，抛出
  * MatchError，每个 case 中，不用 break 语句。
  * 和 if 一样， match 也会返回值：
  */
for (ch <- "+-!") {

  sign = ch match {
    case '+' => 1
    case '-' => -1
    case _ => 0
  }
  println(sign)
}

/**
  * 你可以在 match 中使用任何类型，而不仅仅是数字。
  */

import java.awt._

val color = SystemColor.textText 
color match {
  case Color.RED => "Text is red"
  case Color.BLACK => "Text is black"
  case _ => "Not red or black"
}


